//==========================================================================
// Copyright (c) 2000-2008,  Elastos, Inc.  All Rights Reserved.
//==========================================================================
#include <linknode.h>
#include <mouse_data.h>
#include <keyboard_data.h>

typedef union {
    TOUCH_DATA button;
    KPD_DATA key;
} InputEvent;

class CMsgQueue
{
public:
    CMsgQueue();
    ~CMsgQueue();

    void Enqueue(InputEvent *pMsg);
    InputEvent *Dequeue();

private:
    HANDLE  m_hEvent;
    int     m_set;
    int     m_get;
    InputEvent m_events[64];
};
